package br.gov.mi.corporativo.dominio.rhmi;

// Generated 17/11/2014 09:46:12 by Hibernate Tools 4.0.0

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Immutable;

/**
 * RegistroTelefonico generated by hbm2java
 */
@Entity @Immutable
@Table(schema = "DES_RHMI", name = "REGISTRO_TELEFONICO")
public final class RegistroTelefonico implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1299958147997308177L;
	@Id
	@Column(name = "ID_REGISTRO_TELEFONICO", unique = true, nullable = false, precision = 22, scale = 0)
	private Long idRegistroTelefonico;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_FUNCIONARIO_SOLICITANTE")
	private Funcionario funcionarioSolicitante;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_UNIDADE_ESTRUT_SOLICITANTE")
	private UnidadeEstrutura unidadeEstruturaSolicitante;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_FUNCIONARIO_ATENDIMENTO", nullable = false)
	private Funcionario funcionarioAtendimento;
	
	@Column(name = "NM_SOLICITANTE", length = 100)
	private String nmSolicitante;
	
	@Column(name = "NM_DESTINO", length = 100)
	private String nmDestino;
	
	@Temporal(TemporalType.DATE)
	@Column(name = "DT_REGISTRO_TELEFONICO", nullable = false, length = 7)
	private Date dtRegistroTelefonico;
	
	@Column(name = "CD_DOCUMENTO", precision = 4, scale = 0)
	private Integer cdDocumento;
	
	@Column(name = "CS_TIPO", precision = 1, scale = 0)
	private Boolean csTipo;
	
	@Column(name = "ST_RESERVA", length = 1)
	private Character stReserva;
	
	@Column(name = "DS_ASSUNTO", nullable = false, length = 100)
	private String dsAssunto;
	
	@Column(name = "ST_REGISTRO", nullable = false, length = 1)
	private String stRegistro;

	public RegistroTelefonico() {
	}

	public RegistroTelefonico(Long idRegistroTelefonico,
			Funcionario funcionarioByIdFuncionarioAtendimento,
			Date dtRegistroTelefonico, String dsAssunto, String stRegistro) {
		this.idRegistroTelefonico = idRegistroTelefonico;
		this.funcionarioAtendimento = funcionarioByIdFuncionarioAtendimento;
		this.dtRegistroTelefonico = dtRegistroTelefonico;
		this.dsAssunto = dsAssunto;
		this.stRegistro = stRegistro;
	}

	public RegistroTelefonico(Long idRegistroTelefonico,
			Funcionario funcionarioByIdFuncionarioSolicitante,
			UnidadeEstrutura unidadeEstrutura,
			Funcionario funcionarioByIdFuncionarioAtendimento,
			String nmSolicitante, String nmDestino, Date dtRegistroTelefonico,
			Integer cdDocumento, Boolean csTipo, Character stReserva,
			String dsAssunto, String stRegistro) {
		this.idRegistroTelefonico = idRegistroTelefonico;
		this.funcionarioSolicitante = funcionarioByIdFuncionarioSolicitante;
		this.unidadeEstruturaSolicitante = unidadeEstrutura;
		this.funcionarioAtendimento = funcionarioByIdFuncionarioAtendimento;
		this.nmSolicitante = nmSolicitante;
		this.nmDestino = nmDestino;
		this.dtRegistroTelefonico = dtRegistroTelefonico;
		this.cdDocumento = cdDocumento;
		this.csTipo = csTipo;
		this.stReserva = stReserva;
		this.dsAssunto = dsAssunto;
		this.stRegistro = stRegistro;
	}

	
	public Long getIdRegistroTelefonico() {
		return this.idRegistroTelefonico;
	}

	
	public Funcionario getFuncionarioSolicitante() {
		return this.funcionarioSolicitante;
	}

	
	public UnidadeEstrutura getUnidadeEstruturaSolicitante() {
		return this.unidadeEstruturaSolicitante;
	}

	
	public Funcionario getFuncionarioAtendimento() {
		return this.funcionarioAtendimento;
	}

	
	public String getNmSolicitante() {
		return this.nmSolicitante;
	}

	
	public String getNmDestino() {
		return this.nmDestino;
	}

	
	public Date getDtRegistroTelefonico() {
		return this.dtRegistroTelefonico;
	}

	
	public Integer getCdDocumento() {
		return this.cdDocumento;
	}

	
	public Boolean getCsTipo() {
		return this.csTipo;
	}

	
	public Character getStReserva() {
		return this.stReserva;
	}

	
	public String getDsAssunto() {
		return this.dsAssunto;
	}

	
	public String getStRegistro() {
		return this.stRegistro;
	}

}
